﻿namespace FallingRocks
{
    using System;

    public static class Key
    {
        private static readonly ConsoleKey defMovingLeft = ConsoleKey.LeftArrow,
                             defMovingRight = ConsoleKey.RightArrow,
                             defActivate = ConsoleKey.Spacebar,
                             defPause = ConsoleKey.Pause,
                             defMenu = ConsoleKey.Escape,
                             defMenuUp = ConsoleKey.UpArrow,
                             defMenuDown = ConsoleKey.DownArrow,
                             defMenuSelect = ConsoleKey.Enter;

        private static ConsoleKey movingLeft = ConsoleKey.A,
                                    movingRight = ConsoleKey.D,
                                    activate = ConsoleKey.Z,
                                    pause = ConsoleKey.P;

        public static ConsoleKey DefMovingLeft { get { return defMovingLeft; } }

        public static ConsoleKey DefMovingRight { get { return defMovingRight; } }

        public static ConsoleKey DefActivate { get { return defActivate; } }

        public static ConsoleKey DefPause { get { return defPause; } }

        public static ConsoleKey DefMenu { get { return defMenu; } }

        public static ConsoleKey DefMenuUp { get { return defMenuUp; } }

        public static ConsoleKey DefMenuDown { get { return defMenuDown; } }

        public static ConsoleKey DefMenuSelect { get { return defMenuSelect; } }

        public static ConsoleKey MovingLeft { get { return movingLeft; } set { movingLeft = value; } }

        public static ConsoleKey MovingRight { get { return movingRight; } set { movingRight = value; } }

        public static ConsoleKey Activate { get { return activate; } set { activate = value; } }

        public static ConsoleKey Pause { get { return pause; } set { pause = value; } }
    }
}
